//
//  KLSlidingTextFieldController.m
//  KeyLime
//
//  Created by Jesse Curry on 10/29/09.
//  Copyright 2009 Circonda, Inc. All rights reserved.
//

#import "KLSlidingTextFieldController.h"


@implementation KLSlidingTextFieldController
@dynamic text;
 // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
- (id)initWithNibName: (NSString*)nibNameOrNil bundle: (NSBundle*)nibBundleOrNil 
{
    if ( self = [super initWithNibName: nibNameOrNil bundle: nibBundleOrNil] ) 
	{
        textValue = [[NSString alloc] init];
    }
    return self;
}

/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
}
*/

/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/

- (void)didReceiveMemoryWarning {
	// Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
	
	// Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
	// Release any retained subviews of the main view.
	// e.g. self.myOutlet = nil;
}

#pragma mark -
#pragma mark KLSlidingViewController Overrides
- (void)slideOn
{
	[super slideOn];
	[textField becomeFirstResponder];
	[textField setText: textValue];
}

- (void)slideOff
{
	[textField resignFirstResponder];
	[super slideOff];
}

#pragma mark -
#pragma mark Dynamic Properties
- (NSString*)text
{
	return [textField text];
}

- (void)setText: (NSString*)theText
{
	[textValue release];
	textValue = [theText copy];
	
	[textField setText: theText];
}

#pragma mark -
#pragma mark UITextFieldDelegate Methods
- (BOOL)textFieldShouldReturn: (UITextField*)theTextField
{
	[self done: self];
	return YES;
}

#pragma mark -
- (void)dealloc 
{
    [textValue release];
	
	[super dealloc];
}


@end
